<?xml version = '1.0' encoding = 'ISO-8859-1' ?>
<asm version="1.0" name="0">
	<cp>
		<constant value="Checker"/>
		<constant value="links"/>
		<constant value="NTransientLinkSet;"/>
		<constant value="col"/>
		<constant value="J"/>
		<constant value="list_aux"/>
		<constant value="main"/>
		<constant value="A"/>
		<constant value="OclParametrizedType"/>
		<constant value="#native"/>
		<constant value="Collection"/>
		<constant value="J.setName(S):V"/>
		<constant value="OclSimpleType"/>
		<constant value="OclAny"/>
		<constant value="J.setElementType(J):V"/>
		<constant value="Set"/>
		<constant value="TransientLinkSet"/>
		<constant value="A.__matcher__():V"/>
		<constant value="A.__exec__():V"/>
		<constant value="5:39-5:44"/>
		<constant value="self"/>
		<constant value="__resolve__"/>
		<constant value="1"/>
		<constant value="J.oclIsKindOf(J):B"/>
		<constant value="18"/>
		<constant value="NTransientLinkSet;.getLinkBySourceElement(S):QNTransientLink;"/>
		<constant value="J.oclIsUndefined():B"/>
		<constant value="15"/>
		<constant value="NTransientLink;.getTargetFromSource(J):J"/>
		<constant value="17"/>
		<constant value="30"/>
		<constant value="Sequence"/>
		<constant value="2"/>
		<constant value="A.__resolve__(J):J"/>
		<constant value="QJ.including(J):QJ"/>
		<constant value="QJ.flatten():QJ"/>
		<constant value="e"/>
		<constant value="value"/>
		<constant value="resolveTemp"/>
		<constant value="S"/>
		<constant value="NTransientLink;.getNamedTargetFromSource(JS):J"/>
		<constant value="name"/>
		<constant value="__matcher__"/>
		<constant value="A.__matchcheck_list():V"/>
		<constant value="__exec__"/>
		<constant value="check_list"/>
		<constant value="NTransientLinkSet;.getLinksByRule(S):QNTransientLink;"/>
		<constant value="A.__applycheck_list(NTransientLink;):V"/>
		<constant value="__matchcheck_list"/>
		<constant value="EPackage"/>
		<constant value="Ecore"/>
		<constant value="IN"/>
		<constant value="MMOF!Classifier;.allInstancesFrom(S):QJ"/>
		<constant value="TransientLink"/>
		<constant value="NTransientLink;.setRule(MATL!Rule;):V"/>
		<constant value="epackage_in"/>
		<constant value="NTransientLink;.addSourceElement(SJ):V"/>
		<constant value="epackage_out"/>
		<constant value="NTransientLink;.addTargetElement(SJ):V"/>
		<constant value="NTransientLinkSet;.addLink2(NTransientLink;B):V"/>
		<constant value="14:3-14:32"/>
		<constant value="__applycheck_list"/>
		<constant value="NTransientLink;"/>
		<constant value="NTransientLink;.getSourceElement(S):J"/>
		<constant value="NTransientLink;.getTargetElement(S):J"/>
		<constant value="3"/>
		<constant value="eClassifiers"/>
		<constant value="4"/>
		<constant value="EClass"/>
		<constant value="J.oclIsTypeOf(J):J"/>
		<constant value="21"/>
		<constant value="29"/>
		<constant value="0"/>
		<constant value="J.checkCyclicRelationships(J):J"/>
		<constant value="16:18-16:29"/>
		<constant value="16:18-16:42"/>
		<constant value="18:8-18:14"/>
		<constant value="18:27-18:39"/>
		<constant value="18:8-18:40"/>
		<constant value="19:5-19:15"/>
		<constant value="19:28-19:33"/>
		<constant value="19:5-19:34"/>
		<constant value="20:5-20:9"/>
		<constant value="20:35-20:41"/>
		<constant value="20:5-20:43"/>
		<constant value="18:4-21:5"/>
		<constant value="16:3-22:4"/>
		<constant value="15:2-23:3"/>
		<constant value="eclass"/>
		<constant value="link"/>
		<constant value="checkCyclicRelationships"/>
		<constant value="J.toString():J"/>
		<constant value="J.includes(J):J"/>
		<constant value="8"/>
		<constant value="there is a cycle involving "/>
		<constant value="J.+(J):J"/>
		<constant value="J.println():J"/>
		<constant value="J.not():J"/>
		<constant value="26"/>
		<constant value="57"/>
		<constant value="J.including(J):J"/>
		<constant value="41"/>
		<constant value="eStructuralFeatures"/>
		<constant value="EReference"/>
		<constant value="52"/>
		<constant value="56"/>
		<constant value="eType"/>
		<constant value="29:7-29:17"/>
		<constant value="29:7-29:26"/>
		<constant value="29:39-29:45"/>
		<constant value="29:39-29:50"/>
		<constant value="29:39-29:61"/>
		<constant value="29:7-29:62"/>
		<constant value="30:5-30:34"/>
		<constant value="30:37-30:43"/>
		<constant value="30:37-30:48"/>
		<constant value="30:5-30:48"/>
		<constant value="30:4-30:60"/>
		<constant value="31:4-31:14"/>
		<constant value="31:4-31:23"/>
		<constant value="31:4-31:34"/>
		<constant value="31:4-31:45"/>
		<constant value="29:3-32:4"/>
		<constant value="32:12-32:22"/>
		<constant value="32:12-32:31"/>
		<constant value="32:42-32:48"/>
		<constant value="32:42-32:53"/>
		<constant value="32:42-32:64"/>
		<constant value="32:12-32:65"/>
		<constant value="32:8-32:65"/>
		<constant value="33:4-33:14"/>
		<constant value="33:27-33:37"/>
		<constant value="33:27-33:46"/>
		<constant value="33:58-33:64"/>
		<constant value="33:58-33:69"/>
		<constant value="33:58-33:80"/>
		<constant value="33:27-33:81"/>
		<constant value="33:4-33:82"/>
		<constant value="34:8-34:14"/>
		<constant value="34:27-34:39"/>
		<constant value="34:8-34:40"/>
		<constant value="35:16-35:22"/>
		<constant value="35:16-35:42"/>
		<constant value="36:10-36:12"/>
		<constant value="36:25-36:41"/>
		<constant value="36:10-36:42"/>
		<constant value="37:7-37:11"/>
		<constant value="37:37-37:39"/>
		<constant value="37:37-37:45"/>
		<constant value="37:7-37:47"/>
		<constant value="36:6-38:7"/>
		<constant value="35:5-39:6"/>
		<constant value="34:4-40:5"/>
		<constant value="32:4-41:4"/>
		<constant value="28:2-42:3"/>
		<constant value="er"/>
	</cp>
	<field name="1" type="2"/>
	<field name="3" type="4"/>
	<field name="5" type="4"/>
	<operation name="6">
		<context type="7"/>
		<parameters>
		</parameters>
		<code>
			<getasm/>
			<push arg="8"/>
			<push arg="9"/>
			<new/>
			<dup/>
			<push arg="10"/>
			<call arg="11"/>
			<dup/>
			<push arg="12"/>
			<push arg="9"/>
			<new/>
			<dup/>
			<push arg="13"/>
			<call arg="11"/>
			<call arg="14"/>
			<set arg="3"/>
			<getasm/>
			<push arg="15"/>
			<push arg="9"/>
			<new/>
			<set arg="5"/>
			<getasm/>
			<push arg="16"/>
			<push arg="9"/>
			<new/>
			<set arg="1"/>
			<getasm/>
			<call arg="17"/>
			<getasm/>
			<call arg="18"/>
		</code>
		<linenumbertable>
			<lne id="19" begin="17" end="19"/>
		</linenumbertable>
		<localvariabletable>
			<lve slot="0" name="20" begin="0" end="29"/>
		</localvariabletable>
	</operation>
	<operation name="21">
		<context type="7"/>
		<parameters>
			<parameter name="22" type="4"/>
		</parameters>
		<code>
			<load arg="22"/>
			<getasm/>
			<get arg="3"/>
			<call arg="23"/>
			<if arg="24"/>
			<getasm/>
			<get arg="1"/>
			<load arg="22"/>
			<call arg="25"/>
			<dup/>
			<call arg="26"/>
			<if arg="27"/>
			<load arg="22"/>
			<call arg="28"/>
			<goto arg="29"/>
			<pop/>
			<load arg="22"/>
			<goto arg="30"/>
			<push arg="31"/>
			<push arg="9"/>
			<new/>
			<load arg="22"/>
			<iterate/>
			<store arg="32"/>
			<getasm/>
			<load arg="32"/>
			<call arg="33"/>
			<call arg="34"/>
			<enditerate/>
			<call arg="35"/>
		</code>
		<linenumbertable>
		</linenumbertable>
		<localvariabletable>
			<lve slot="2" name="36" begin="23" end="27"/>
			<lve slot="0" name="20" begin="0" end="29"/>
			<lve slot="1" name="37" begin="0" end="29"/>
		</localvariabletable>
	</operation>
	<operation name="38">
		<context type="7"/>
		<parameters>
			<parameter name="22" type="4"/>
			<parameter name="32" type="39"/>
		</parameters>
		<code>
			<getasm/>
			<get arg="1"/>
			<load arg="22"/>
			<call arg="25"/>
			<load arg="22"/>
			<load arg="32"/>
			<call arg="40"/>
		</code>
		<linenumbertable>
		</linenumbertable>
		<localvariabletable>
			<lve slot="0" name="20" begin="0" end="6"/>
			<lve slot="1" name="37" begin="0" end="6"/>
			<lve slot="2" name="41" begin="0" end="6"/>
		</localvariabletable>
	</operation>
	<operation name="42">
		<context type="7"/>
		<parameters>
		</parameters>
		<code>
			<getasm/>
			<call arg="43"/>
		</code>
		<linenumbertable>
		</linenumbertable>
		<localvariabletable>
			<lve slot="0" name="20" begin="0" end="1"/>
		</localvariabletable>
	</operation>
	<operation name="44">
		<context type="7"/>
		<parameters>
		</parameters>
		<code>
			<getasm/>
			<get arg="1"/>
			<push arg="45"/>
			<call arg="46"/>
			<iterate/>
			<store arg="22"/>
			<getasm/>
			<load arg="22"/>
			<call arg="47"/>
			<enditerate/>
		</code>
		<linenumbertable>
		</linenumbertable>
		<localvariabletable>
			<lve slot="1" name="36" begin="5" end="8"/>
			<lve slot="0" name="20" begin="0" end="9"/>
		</localvariabletable>
	</operation>
	<operation name="48">
		<context type="7"/>
		<parameters>
		</parameters>
		<code>
			<push arg="49"/>
			<push arg="50"/>
			<findme/>
			<push arg="51"/>
			<call arg="52"/>
			<iterate/>
			<store arg="22"/>
			<getasm/>
			<get arg="1"/>
			<push arg="53"/>
			<push arg="9"/>
			<new/>
			<dup/>
			<push arg="45"/>
			<call arg="54"/>
			<dup/>
			<push arg="55"/>
			<load arg="22"/>
			<call arg="56"/>
			<dup/>
			<push arg="57"/>
			<push arg="49"/>
			<push arg="50"/>
			<new/>
			<call arg="58"/>
			<pusht/>
			<call arg="59"/>
			<enditerate/>
		</code>
		<linenumbertable>
			<lne id="60" begin="19" end="24"/>
		</linenumbertable>
		<localvariabletable>
			<lve slot="1" name="55" begin="6" end="26"/>
			<lve slot="0" name="20" begin="0" end="27"/>
		</localvariabletable>
	</operation>
	<operation name="61">
		<context type="7"/>
		<parameters>
			<parameter name="22" type="62"/>
		</parameters>
		<code>
			<load arg="22"/>
			<push arg="55"/>
			<call arg="63"/>
			<store arg="32"/>
			<load arg="22"/>
			<push arg="57"/>
			<call arg="64"/>
			<store arg="65"/>
			<load arg="65"/>
			<pop/>
			<load arg="32"/>
			<get arg="66"/>
			<iterate/>
			<store arg="67"/>
			<load arg="67"/>
			<push arg="68"/>
			<push arg="50"/>
			<findme/>
			<call arg="69"/>
			<if arg="70"/>
			<goto arg="71"/>
			<getasm/>
			<push arg="15"/>
			<push arg="9"/>
			<new/>
			<set arg="5"/>
			<load arg="72"/>
			<load arg="67"/>
			<pcall arg="73"/>
			<enditerate/>
		</code>
		<linenumbertable>
			<lne id="60" begin="8" end="9"/>
			<lne id="74" begin="10" end="10"/>
			<lne id="75" begin="10" end="11"/>
			<lne id="76" begin="14" end="14"/>
			<lne id="77" begin="15" end="17"/>
			<lne id="78" begin="14" end="18"/>
			<lne id="79" begin="21" end="21"/>
			<lne id="80" begin="22" end="24"/>
			<lne id="81" begin="21" end="25"/>
			<lne id="82" begin="26" end="26"/>
			<lne id="83" begin="27" end="27"/>
			<lne id="84" begin="26" end="28"/>
			<lne id="85" begin="14" end="28"/>
			<lne id="86" begin="10" end="29"/>
			<lne id="87" begin="10" end="29"/>
		</linenumbertable>
		<localvariabletable>
			<lve slot="4" name="88" begin="13" end="28"/>
			<lve slot="3" name="57" begin="7" end="29"/>
			<lve slot="2" name="55" begin="3" end="29"/>
			<lve slot="0" name="20" begin="0" end="29"/>
			<lve slot="1" name="89" begin="0" end="29"/>
		</localvariabletable>
	</operation>
	<operation name="90">
		<context type="7"/>
		<parameters>
			<parameter name="22" type="4"/>
		</parameters>
		<code>
			<getasm/>
			<get arg="5"/>
			<load arg="22"/>
			<get arg="41"/>
			<call arg="91"/>
			<call arg="92"/>
			<if arg="93"/>
			<goto arg="29"/>
			<push arg="94"/>
			<load arg="22"/>
			<get arg="41"/>
			<call arg="95"/>
			<pcall arg="96"/>
			<getasm/>
			<get arg="5"/>
			<call arg="91"/>
			<pcall arg="96"/>
			<getasm/>
			<get arg="5"/>
			<load arg="22"/>
			<get arg="41"/>
			<call arg="91"/>
			<call arg="92"/>
			<call arg="97"/>
			<if arg="98"/>
			<goto arg="99"/>
			<getasm/>
			<getasm/>
			<get arg="5"/>
			<load arg="22"/>
			<get arg="41"/>
			<call arg="91"/>
			<call arg="100"/>
			<set arg="5"/>
			<load arg="22"/>
			<push arg="68"/>
			<push arg="50"/>
			<findme/>
			<call arg="69"/>
			<if arg="101"/>
			<goto arg="99"/>
			<load arg="22"/>
			<get arg="102"/>
			<iterate/>
			<store arg="32"/>
			<load arg="32"/>
			<push arg="103"/>
			<push arg="50"/>
			<findme/>
			<call arg="69"/>
			<if arg="104"/>
			<goto arg="105"/>
			<load arg="72"/>
			<load arg="32"/>
			<get arg="106"/>
			<pcall arg="73"/>
			<enditerate/>
		</code>
		<linenumbertable>
			<lne id="107" begin="0" end="0"/>
			<lne id="108" begin="0" end="1"/>
			<lne id="109" begin="2" end="2"/>
			<lne id="110" begin="2" end="3"/>
			<lne id="111" begin="2" end="4"/>
			<lne id="112" begin="0" end="5"/>
			<lne id="113" begin="8" end="8"/>
			<lne id="114" begin="9" end="9"/>
			<lne id="115" begin="9" end="10"/>
			<lne id="116" begin="8" end="11"/>
			<lne id="117" begin="8" end="12"/>
			<lne id="118" begin="13" end="13"/>
			<lne id="119" begin="13" end="14"/>
			<lne id="120" begin="13" end="15"/>
			<lne id="121" begin="13" end="16"/>
			<lne id="122" begin="0" end="16"/>
			<lne id="123" begin="17" end="17"/>
			<lne id="124" begin="17" end="18"/>
			<lne id="125" begin="19" end="19"/>
			<lne id="126" begin="19" end="20"/>
			<lne id="127" begin="19" end="21"/>
			<lne id="128" begin="17" end="22"/>
			<lne id="129" begin="17" end="23"/>
			<lne id="130" begin="26" end="26"/>
			<lne id="131" begin="27" end="27"/>
			<lne id="132" begin="27" end="28"/>
			<lne id="133" begin="29" end="29"/>
			<lne id="134" begin="29" end="30"/>
			<lne id="135" begin="29" end="31"/>
			<lne id="136" begin="27" end="32"/>
			<lne id="137" begin="26" end="33"/>
			<lne id="138" begin="34" end="34"/>
			<lne id="139" begin="35" end="37"/>
			<lne id="140" begin="34" end="38"/>
			<lne id="141" begin="41" end="41"/>
			<lne id="142" begin="41" end="42"/>
			<lne id="143" begin="45" end="45"/>
			<lne id="144" begin="46" end="48"/>
			<lne id="145" begin="45" end="49"/>
			<lne id="146" begin="52" end="52"/>
			<lne id="147" begin="53" end="53"/>
			<lne id="148" begin="53" end="54"/>
			<lne id="149" begin="52" end="55"/>
			<lne id="150" begin="45" end="55"/>
			<lne id="151" begin="41" end="56"/>
			<lne id="152" begin="34" end="56"/>
			<lne id="153" begin="17" end="56"/>
			<lne id="154" begin="0" end="56"/>
		</linenumbertable>
		<localvariabletable>
			<lve slot="2" name="155" begin="44" end="55"/>
			<lve slot="0" name="20" begin="0" end="56"/>
			<lve slot="1" name="88" begin="0" end="56"/>
		</localvariabletable>
	</operation>
</asm>
